Matthias Clasen [Sun, 26 May 2019 19:33:10 +0000 (15:33 -0400)]
icon theme: Make final
Nobody should subclass GtkIconTheme or GtkIconInfo.
Matthias Clasen [Sun, 26 May 2019 19:25:46 +0000 (15:25 -0400)]
textview: Use standard padding
Given that GtkSourceView exists, we will have
to keep GtkTextView subclassable until a replacement
appears.
Matthias Clasen [Sun, 26 May 2019 19:18:42 +0000 (15:18 -0400)]
viewport: Cleanup
Matthias Clasen [Sun, 26 May 2019 19:16:00 +0000 (15:16 -0400)]
viewport: Make final
No need to derive from it.
Matthias Clasen [Sat, 25 May 2019 21:52:15 +0000 (21:52 +0000)]
Trivial
Matthias Clasen [Sat, 25 May 2019 20:46:41 +0000 (20:46 +0000)]
surface: fix up docs
The docs for gdk_surface_invalidate_region were
talking about a no-longer-existing argument.
Matthias Clasen [Mon, 20 May 2019 12:49:56 +0000 (12:49 +0000)]
color plane: Don't allocate 0-size textures
This triggers critials, and does us no good.
Matthias Clasen [Mon, 20 May 2019 05:04:17 +0000 (05:04 +0000)]
Cosmetics
Benjamin Otte [Sat, 25 May 2019 22:50:13 +0000 (00:50 +0200)]
rendernodeparser: Parse Cairo nodes
We also print the script, but we don't parse it yet.
Benjamin Otte [Sat, 25 May 2019 21:50:46 +0000 (23:50 +0200)]
rendernode: Remove unused function
Benjamin Otte [Sat, 25 May 2019 20:30:29 +0000 (22:30 +0200)]
inspector: Make updates overlay not crash
... when a window gets hidden and later reshown.
The code now properly cleans up a window when it gets unmapped instead
of trying to retain previous updates information.
Matthias Clasen [Sat, 25 May 2019 18:08:43 +0000 (18:08 +0000)]
Revert "wayland: Keep some resources until destroy"
This reverts commit
f2d598b9a19cd7151c592e9c74d5b0d0ba3c9e48.
Matthias Clasen [Fri, 24 May 2019 11:38:54 +0000 (11:38 +0000)]
widget-factory: Add some animation in a popover
Matthias Clasen [Fri, 24 May 2019 11:18:31 +0000 (11:18 +0000)]
broadway: add frame times to the profiler
Matthias Clasen [Fri, 24 May 2019 00:31:07 +0000 (00:31 +0000)]
fishbowl: Add a menubutton demo
This reveals some issues with the position tracking.
Matthias Clasen [Fri, 24 May 2019 00:30:39 +0000 (00:30 +0000)]
menu button: Add popup/popdown functions
These are needed, after all.
Matthias Clasen [Fri, 24 May 2019 00:11:23 +0000 (00:11 +0000)]
fishbowl: Fix the lock button
Timm Bäder [Wed, 22 May 2019 05:10:57 +0000 (07:10 +0200)]
gl renderer: Make creating render targets easier
Timm Bäder [Wed, 22 May 2019 04:55:45 +0000 (06:55 +0200)]
gl renderer: Remove some unused api form the GLDriver
Matthias Clasen [Thu, 23 May 2019 12:37:47 +0000 (12:37 +0000)]
fishbowl: Don't show ridiculous precision
Two decimals are more than enough for the frame rate.
Matthias Clasen [Wed, 22 May 2019 11:42:54 +0000 (11:42 +0000)]
Merge branch 'issue1901-gtk4' into 'master'
wayland: Use scale from core wl_output protocol
Closes #1901
See merge request GNOME/gtk!870
Olivier Fourdan [Wed, 22 May 2019 10:11:36 +0000 (12:11 +0200)]
wayland: Use scale from core wl_output protocol
The “xdg-output” protocol provides clients with the outputs size and
position in compositor coordinates, and does not provide the output
scale which is already provided by the core “wl_output” protocol.
So when receiving the wl_output scale event, we should update the scale
regardless of “xdg-output” support, otherwise the scale will remain to
its default value of 1 and the surface will be scaled up by the
compositor to match the actual output scale, which causes blurry fonts
and widgets.
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/1901
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Matthias Clasen [Tue, 21 May 2019 22:39:50 +0000 (22:39 +0000)]
gtk-demo: Reinstate flat menu buttons
Matthias Clasen [Tue, 21 May 2019 22:39:28 +0000 (22:39 +0000)]
widget-factory: Reinstate flat menu buttons
Matthias Clasen [Tue, 21 May 2019 22:39:03 +0000 (22:39 +0000)]
menu button: Add a relief property
This is used in various places.
Daniel Boles [Tue, 21 May 2019 20:19:40 +0000 (21:19 +0100)]
testscrolledwindow: GtkMenuButton != GtkContainer
It's not anymore, so don't cast it to one... Use the new :label instead.
Krzesimir Nowak [Tue, 21 May 2019 15:36:00 +0000 (17:36 +0200)]
testsuite: Fix leak
Emmanuele Bassi [Tue, 21 May 2019 16:42:05 +0000 (16:42 +0000)]
Merge branch 'mkenums-once' into 'master'
Use g_once for all the mkenums template files
Closes #1617
See merge request GNOME/gtk!865
Federico Mena Quintero [Tue, 21 May 2019 15:32:08 +0000 (10:32 -0500)]
Use g_once for all the mkenums template files
Without this, initialization of enum/flags values from multithreaded
programs may not work correctly.
Fixes #1617.
Benjamin Otte [Tue, 21 May 2019 14:39:53 +0000 (14:39 +0000)]
Merge branch 'win32-enable-werror' into 'master'
Win32 enable werror
See merge request GNOME/gtk!861
Emmanuele Bassi [Tue, 21 May 2019 13:46:23 +0000 (13:46 +0000)]
Merge branch 'issue-302-master' into 'master'
docs: Fix the override for GdkAtom
Closes #302
See merge request GNOME/gtk!864
Emmanuele Bassi [Tue, 21 May 2019 13:27:33 +0000 (14:27 +0100)]
docs: Fix the override for GdkAtom
GdkAtom is a typedef to a pointer to an opaque structure. We need to
tell GTK-Doc how to override it, so that the documentation is accurate.
Fixes: #302
Timm Bäder [Tue, 21 May 2019 06:38:11 +0000 (08:38 +0200)]
gl renderer: Render recording surface untransformed
Cairo can't handle the y flip apparently.
Fixes #1906
Timm Bäder [Mon, 20 May 2019 13:12:15 +0000 (15:12 +0200)]
gl glyphcache: Don't choke on huge glyphs
We blindly assume everywhere that a single glyph will definitely fit on
one atlas, but that's not always the case.
For now, don't crash or produce GL errors.
Timm Bäder [Mon, 20 May 2019 11:46:36 +0000 (13:46 +0200)]
widget: Don't always call get_display() when allocating
The GTK_DISPLAY_DEBUG_CHECK macro will cleverly only call the function
if any of the display debug flags are set, so in the common case it
won't even be executed.
Benjamin Otte [Tue, 21 May 2019 05:46:42 +0000 (07:46 +0200)]
win32: Fix meson names for defines
Those have been wrong forever, but nobody cares because they get to the
values we want anyway.
Benjamin Otte [Tue, 21 May 2019 05:26:25 +0000 (07:26 +0200)]
win32: Enable --werror in CI
Benjamin Otte [Tue, 21 May 2019 05:33:13 +0000 (07:33 +0200)]
win32: Remove outdated workaround
The function that was missing in 2016 does exist now.
Fixes gcc complaining about a wrong declaration.
Benjamin Otte [Tue, 21 May 2019 05:20:45 +0000 (07:20 +0200)]
tests: Use g_free(), not free()
Windows doesn't like that.
Benjamin Otte [Tue, 21 May 2019 05:18:50 +0000 (07:18 +0200)]
imcontextime: Add missing semicolon
I wonder how thoroughly this was tested... ;)
Benjamin Otte [Tue, 21 May 2019 05:17:44 +0000 (07:17 +0200)]
win32: Add missing enum value to switch statement
Benjamin Otte [Tue, 21 May 2019 05:17:31 +0000 (07:17 +0200)]
imcontextime: Remove unused variables
Benjamin Otte [Tue, 21 May 2019 05:15:16 +0000 (07:15 +0200)]
win32: Rename a shadowing variable
Benjamin Otte [Tue, 21 May 2019 05:14:21 +0000 (07:14 +0200)]
window: Remove unneeded variable
The variable would show up as a gcc warning in builds without X11
support.
Benjamin Otte [Tue, 21 May 2019 05:11:03 +0000 (07:11 +0200)]
win32: Actually pass y variable for y parameter
Benjamin Otte [Tue, 21 May 2019 05:10:04 +0000 (07:10 +0200)]
win32: Remove unused variables
Benjamin Otte [Tue, 21 May 2019 05:22:41 +0000 (05:22 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
Wip/otte/for master
See merge request GNOME/gtk!860
Benjamin Otte [Mon, 20 May 2019 01:38:45 +0000 (03:38 +0200)]
testsuite: Remove serialize-deserialize test
The serialize-deserialize test is completely handled via the new
nodeparser tests.
So move those tests over and delete the old test binary.
Benjamin Otte [Mon, 20 May 2019 01:32:30 +0000 (03:32 +0200)]
testsuite: Add render tests for all the empty nodes
Test that rendering empty nodes succees. For a lot of nodes the
resulting rendering isn't clearly defined, in those cases we overdraw
those regions (sometimes the whole image) with black.
Benjamin Otte [Mon, 20 May 2019 01:29:11 +0000 (03:29 +0200)]
testuite: Improve compare-render binary
- Remove remains of g_test_*() functions
We're not a glib test, we're a simple binary.
- Handle nonexistence of reference image properly
Don't assert, but create the output image and the error out.
Benjamin Otte [Mon, 20 May 2019 01:24:24 +0000 (03:24 +0200)]
rendernode: Blur alpha channel for cairo blur node
The blur node still doesn't properly blur with a transform, but at least
it now doesn't turn semi-transparent stuff black.
Benjamin Otte [Sun, 19 May 2019 19:34:13 +0000 (21:34 +0200)]
testsuite: Add empty node tests
For every node type, add a test that creates it empty and ensure that
it prints the reference output.
Benjamin Otte [Sun, 19 May 2019 18:20:09 +0000 (20:20 +0200)]
rendernodeparser: Allow parsing strings
Instead of only allowing for glyph indexes, allow ASCII characters as
replacements. So this glyph sequence
glyphs: 65 8, 66 8, 67 8
Can be replaced by
glyphs: "ABC"
provided that the glyph for "A", "B" and "C" are 65, 66 and 67
respectively and their advance is exactly 8.
x offset and y offset must always be 0 and every glyph must start a
cluster.
Benjamin Otte [Sat, 18 May 2019 21:06:34 +0000 (23:06 +0200)]
rendernodeparser: Update to new rules
Update to the docs outlined in #1887.
In particular, the changes do:
1. Require no property, have a working default for everything
2. Be clear about what gets printed and how.
Tests ahve been adapted to still pass.
Benjamin Otte [Tue, 14 May 2019 20:23:15 +0000 (22:23 +0200)]
rgba: Add GDK_RGBA() macro
So far it's private, but it's a pretty cute way to use hex colors, so we
might conside making it public.
Benjamin Otte [Sun, 19 May 2019 02:08:29 +0000 (04:08 +0200)]
rendernode: Take a graphene_point_t for the offset
... instead of 2 floats.
Benjamin Otte [Tue, 14 May 2019 01:20:09 +0000 (03:20 +0200)]
testsuite: Redo node-parser
Base the rewrite on testsuite/css/parser/test-css-parser - we now
require the node file to match a reference node and track the errors it
triggers.
We also no longer use gtester.
Benjamin Otte [Tue, 14 May 2019 00:49:19 +0000 (02:49 +0200)]
rendernodeparser: Skip root node when it's a container
When printing, behave the same way as when parsing:
Magically skip a container node if there is one - just like the
parser magically creates a container node to hold all the nodes
it parses.
Benjamin Otte [Mon, 13 May 2019 22:41:49 +0000 (00:41 +0200)]
rendernodeparser: Allow single values instead of 4
This allows writing:
colors: red;
instead of
colors: red red red red;
to draw a red border.
Benjamin Otte [Tue, 14 May 2019 01:11:33 +0000 (03:11 +0200)]
rendernodeparser: Print properties alphabetically
Because now we have a rule.
Also update some tests to the new order.
Benjamin Otte [Tue, 21 May 2019 03:41:06 +0000 (05:41 +0200)]
glrenderer: Handle NULL debug messages
Matthias Clasen [Tue, 21 May 2019 00:03:25 +0000 (00:03 +0000)]
gtk-demo: Fix menubutton usage in listbox demo
Menu buttons are no longer buttons, so they
can't have children, and don't have a relief
property.
Matthias Clasen [Mon, 20 May 2019 23:33:07 +0000 (23:33 +0000)]
inspector: Don't apply button api to menu buttons
Timm Bäder [Mon, 20 May 2019 10:10:12 +0000 (12:10 +0200)]
gl renderer: Pass correct matrix category when rendering offscreen
We can't just pretend we have an identity matrix when we are actually
scaling. This fixes the node editor sometimes not drawing things when
rendering to a texture. We were mistakenly discaring render nodes
because the bounds transformation was wrong.
Timm Bäder [Mon, 20 May 2019 09:08:50 +0000 (11:08 +0200)]
gl renderer: Delete render_texture framebuffer
Timm Bäder [Mon, 20 May 2019 07:33:55 +0000 (09:33 +0200)]
gl renderer: A GdkGLTexture's context might be NULL
gdk_gl_texture_download ought to still work, but we can't make a NULL
context current obviously.
Timm Bäder [Mon, 20 May 2019 06:47:41 +0000 (08:47 +0200)]
gl renderer: Really fix gl debugging code
Properly label an object and make sure we have the right gl context even
after a gdk_gl_context_end_frame call.
Matthias Clasen [Sun, 19 May 2019 23:52:57 +0000 (23:52 +0000)]
builder-tool: Remove debug spew
Matthias Clasen [Sun, 19 May 2019 21:12:37 +0000 (17:12 -0400)]
x11: Remove to unused settings
We no longer have settings for gtk-button-images
or gtk-menu-images.
Matthias Clasen [Sun, 19 May 2019 21:12:24 +0000 (17:12 -0400)]
lock button: Don't allow subclassing
Matthias Clasen [Sun, 19 May 2019 21:05:40 +0000 (21:05 +0000)]
link button: Don't allow subclassing
Matthias Clasen [Sun, 19 May 2019 20:45:23 +0000 (16:45 -0400)]
Fix a compiler warning
Matthias Clasen [Sun, 19 May 2019 20:45:42 +0000 (16:45 -0400)]
popover menu: Make not subclassable
Matthias Clasen [Sun, 19 May 2019 20:34:49 +0000 (20:34 +0000)]
popover: Cosmetics
Use the same amount of padding as everywhere else.
Matthias Clasen [Sun, 19 May 2019 20:34:13 +0000 (20:34 +0000)]
volume button: Don't allow subclassing
If you want to subclass, there's GtkScaleButton.
Matthias Clasen [Sun, 19 May 2019 20:04:47 +0000 (20:04 +0000)]
settings: Drop the priv pointer
Matthias Clasen [Sun, 19 May 2019 19:52:34 +0000 (19:52 +0000)]
application window: Drop the priv pointer
Matthias Clasen [Sun, 19 May 2019 19:20:23 +0000 (15:20 -0400)]
sizegroup: Drop the priv pointer
Matthias Clasen [Sun, 19 May 2019 19:13:19 +0000 (15:13 -0400)]
settings: Make not subclassable
Part of being more explicit about what
we allow to be subclassed and what not.
Matthias Clasen [Sun, 19 May 2019 19:09:36 +0000 (15:09 -0400)]
Forgotten file
Matthias Clasen [Sun, 19 May 2019 19:03:49 +0000 (19:03 +0000)]
shortcuts window: Make not subclassable
Part of being more explicit about what
we allow to be subclassed and what not.
Matthias Clasen [Sun, 19 May 2019 18:41:33 +0000 (18:41 +0000)]
css provider: Make not subclassable
Part of being more explicit about what
we allow to be subclassed and what not.
Matthias Clasen [Sun, 19 May 2019 17:49:07 +0000 (17:49 +0000)]
size group: Make not subclassable
Part of being more explicit about what
we allow to be subclassed and what not.
Matthias Clasen [Sun, 19 May 2019 17:29:37 +0000 (13:29 -0400)]
password entry: Make not subclassable
Part of being more explicit about what
we allow to be subclassed and what not.
Matthias Clasen [Sun, 19 May 2019 17:02:50 +0000 (17:02 +0000)]
Padding review
Ensure that the class structs of all subclassable
types have sufficient padding (standardizing on 8
slots, here).
GtkBox
GtkButton
GtkDrawingArea
GtkFixed
GtkFrame
Matthias Clasen [Sun, 19 May 2019 16:50:49 +0000 (16:50 +0000)]
Revert "wayland: Make popups work more than once"
This reverts commit
e74c655016982272b72dff318b11602b0d5b099a.
Matthias Clasen [Sun, 19 May 2019 16:49:45 +0000 (16:49 +0000)]
message dialog: Make not subclassable
Part of being more explicit about what
we allow to be subclassed and what not.
Matthias Clasen [Sun, 19 May 2019 15:41:12 +0000 (15:41 +0000)]
Padding review
Ensure that the class structs of all subclassable
types have sufficient padding (standardizing on 8
slots, here).
GtkApplication
GtkWidget
GtkContainer
GtkWindow
GtkDialog
GtkApplicationWindow
GtkToolItem
GtkBin
Matthias Clasen [Sun, 19 May 2019 15:31:23 +0000 (15:31 +0000)]
Cosmetic changes
Use new-style padding for GdkContentProviderClass.
Matthias Clasen [Sun, 19 May 2019 15:29:04 +0000 (15:29 +0000)]
Trivial: Remove a few +'s
Matthias Clasen [Sun, 19 May 2019 15:20:52 +0000 (15:20 +0000)]
Merge branch 'frame-pixel-counter' into 'master'
profiling: Add a counter for pixels drawn per frame
See merge request GNOME/gtk!855
Matthias Clasen [Sun, 19 May 2019 04:41:38 +0000 (04:41 +0000)]
wayland: Make popups work more than once
The change to keep some server resources around
until destroy was causing us to not recreate
the right things when a surface is hidden and
then shown again. Make sure to recreate everything.
Matthias Clasen [Sun, 19 May 2019 04:14:56 +0000 (04:14 +0000)]
widget-factory: menu buttons can't have children
GtkMenuButton is no longer a container, so we
can't pack children in it.
Benjamin Otte [Sat, 18 May 2019 19:24:47 +0000 (19:24 +0000)]
Merge branch 'wayland-surface-unmap' into 'master'
wayland: Keep some resources until destroy
Closes #1485
See merge request GNOME/gtk!857
Matthias Clasen [Sat, 18 May 2019 19:15:47 +0000 (19:15 +0000)]
wayland: Keep some resources until destroy
The Wayland backend was dropping _all_ serverside
resources on hide, which is too early e.g. for
GtkGLArea which wants to use egl resources to
unload textures on unrealize.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1485
Matthias Clasen [Sat, 18 May 2019 19:13:49 +0000 (19:13 +0000)]
Merge branch 'button-clicked' into 'master'
Drop gtk_button_clicked
See merge request GNOME/gtk!856
Matthias Clasen [Sat, 18 May 2019 18:23:10 +0000 (14:23 -0400)]
Drop gtk_button_clicked
This is not an api we want to propagate anymore.
If you need to, you can still emit the "clicked"
action signal on a button using g_signal_emit_by_name.
Matthias Clasen [Sat, 18 May 2019 18:22:12 +0000 (14:22 -0400)]
demos: Stop using gtk_button_clicked
Matthias Clasen [Sat, 18 May 2019 18:15:54 +0000 (18:15 +0000)]
gtk: Stop using gtk_button_clicked
This function is going away.
Matthias Clasen [Sat, 18 May 2019 17:12:32 +0000 (17:12 +0000)]
profiling: Add a counter for pixels drawn per frame
This number clearly shows the recently discovered
"full redraws" problem.